<?php

class paginador{
    var $resXpag=0;
    var $total=0;
    var $desde=0;
    var $pagina=1;

    function paginador($sql, $resxpag="50"){
		$dbq=conecta();
		
		$dbq->query($sql);
		$this->total=$dbq->resultados();
		$this->resXpag=$resxpag;	
    }

    function estaDentro() {
        return ($this->pagina <= ceil($this->total / $this->resXpag));
    }

    function pagina($pag){
	if (is_numeric($pag) ){
	    if ($pag > 0){
              $this->desde=($pag-1)*$this->resXpag;
	      $this->pagina=$pag;
      	    }
	}
    }

    function resxpag(){
	return $this->resXpag;
    }

    function desde(){
	return $this->desde;
    }

    function paginas(){
	return ceil($this->total / $this->resXpag);
    }

    function indice(){
	    if ($this->pagina <= ceil($this->total / $this->resXpag)   && $this->resXpag != 0){
		    $paginas=ceil($this->total / $this->resXpag);
		    if ($this->pagina+5 > $paginas){
		    	$fin=$paginas;
			$ini=($this->pagina-10 < 1)?"1":$this->pagina-10;
		    } else if ($this->pagina-5 < 1){
		    	$fin=($this->pagina+10 > $paginas)?$paginas:$this->pagina+10;
			$ini=1;
		    } else {
		    	$fin=$this->pagina+5;
			$ini=$this->pagina-5;
		    }
		    $res[0]=$ini;
		    $j=1;
		    for ($i=$ini; $i < $fin; $i++){
			    // $res[$i]=($i+1 == $this->pagina)?'<b>'.($i+1).'</b>':($i+1);
			    $res[$j]=$i+1;
			    $j++;
		    }
		    $res[$j]=$paginas;

		    return $res;
	    }
	    return FALSE;
    }
		    


}


?>
